package com.msh.artascope.devcloud.service.service;

import com.msh.artascope.devcloud.client.po.ModuleNetworkPo;
import com.msh.artascope.devcloud.client.po.ModulePo;
import com.msh.artascope.devcloud.client.qo.ModuleNetworkQo;
import com.msh.artascope.devcloud.service.model.query.ModuleNetworkQueryVo;
import com.msh.artascope.devcloud.service.model.vo.ModuleNetworkVo;
import com.msh.artascope.devcloud.service.wrapper.K8sWrapper.K8sInfo;
import com.msh.frame.client.base.TenantBaseService;
import com.msh.frame.client.common.Result;
import java.util.List;

/**
 * @author shihu
 * @mail m-sh@qq.com
 */
public interface ModuleNetworkService extends TenantBaseService<ModuleNetworkPo, ModuleNetworkQo> {

  void reloadVirtualServiceByModuleId(ModulePo modulePo, K8sInfo k8s, Long tenantId);

// ----------前端vo处理-------------------------------------------------------

  Long insertVo(ModuleNetworkPo param);

  /**
   * id查询
   *
   * @param id 主键id
   * @return 查询Vo列表
   */
  ModuleNetworkVo getVo(Long id, Long tenantId);

  /**
   * 查询
   * @param q 查询QueryVo
   * @return  查询Vo列表
   */
  List<ModuleNetworkVo> listVo(ModuleNetworkQueryVo q);

  /**
   * 分页查询
   * @param q 查询QueryVo
   * @return  分页查询Po列表
   */
  Result<List<ModuleNetworkVo>> pageVo(ModuleNetworkQueryVo q);


  ModuleNetworkVo getVoByModuleId(Long moduleId, Long tenantId);

}
